package br.com.medvagas.web.validador;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

import br.com.medvagas.comum.util.JSFMensagem;
import br.com.medvagas.comum.util.UtilJSF;

public class ValidadorCEP implements Validator {

	@Override
	public void validate(FacesContext facesContext, UIComponent uiComponent, Object valor) 
			throws ValidatorException {

		if (valor != null) {
			valor = ((String)valor).replaceAll("-", "");
			if (!isCEPValido(valor.toString())) {
				FacesMessage facesMessage = new FacesMessage(
						FacesMessage.SEVERITY_ERROR, 
						JSFMensagem.getMensagemAplicacaoFormatada("MSG_0019",
								UtilJSF.getLabelComponente(uiComponent.getClientId(facesContext))), 
						null);	
				throw new ValidatorException(facesMessage);
			}
		}
		
	}
	
	public boolean isCEPValido(String cep) {
		if (cep.length() != 8)
			return false;
		try {
			Integer.parseInt(cep);
		} catch (Exception e) {
			return false;
		}
		return true;
	}

}
